/* Copyright (c) 2004-2024 peigen.info. All rights reserved. */

package info.peigen.hotpot.business.customer.manage.form;

import info.peigen.hotpot.business.customer.facade.enums.partner.PartnerStatus;
import info.peigen.hotpot.common.service.base.manage.ManageFormBase;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.*;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

/**
 * <b>(PartnerManageEditForm)</b>
 * 管理后台 修改"合作伙伴"表单
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2023-09-09
 */
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class PartnerManageEditForm extends ManageFormBase {
    /** 合作伙伴缩写 */
    @Size(max = 30)
    String        abbreviation;
    /** 合作伙伴名字 */
    @Size(max = 30)
    String        partnerName;
    /** 状态;INIT:初始化, NORMAL:正常客户, FREEZE:被冻结, UN_SUBSCRIBE:被注销 */
    @Size(max = 20)
    PartnerStatus status;
    /** 合作伙伴权限 */
    @NotEmpty
    String        permission;
    /** 技术相关;合作伙伴模块与技术相关的内容 */
    @NotEmpty
    String        tech;
    /** 备注 */
    @NotEmpty
    @Size(max = 200)
    String        memo;
    /** 逻辑删除标记 */
    @NotNull
    Integer       enable;
}